<!DOCTYPE html>
<html lang="ja">

<head>
	<meta charset="UTF-8"/>
	<meta name="keywords" content="シンタックス, ファイルマッピング, ファイル関連付け, 拡張子, シェバン, シバン, インタープリタ"/>
	<link rel="stylesheet" href="../../Shared/sty/standard.css"/>
	<script defer src="../../Shared/js/toc.js"></script>
	
	<title>MacのCotEditorでファイルをシンタックスに関連付ける</title>
</head>

<body>
<a name="syntax_file_mapping"></a>

<h1>MacのCotEditorでファイルをシンタックスに関連付ける</h1>

<p>書類を開いたとき、CotEditorは自動でその書類の種類を判定して適切なシンタックスを適用します。</p>


<section>
<h2>シンタックス適用の優先順位を決定する</h2>

<p>書類を開いたときにどのシンタックスが適用されるかは、各シンタックス定義内で設定された「ファイル関連付け」の情報を元に、それらを統合して決定されます。</p>

<p>CotEditorは以下の順序で最適なシンタックスを捜査します:</p>

<ol>
	<li>
		<p><em>ファイル名拡張子</em>:</p>
		<p>ファイル名拡張子から対応するシンタックスを探します。このとき大文字/小文字を無視しますが、対応するシンタックスが複数あるときは大文字/小文字が対応しているものを優先します。</p>
		<p>例えば:</p><ul>
			<li><p>.html → HTML</p></li>
			<li><p>.hTmL → HTML</p></li>
			<li><p>.py → Python</p></li>
		</ul>
	</li>
	
	<li>
		<p><em>ファイル名</em>:</p>
		<p>対応する拡張子がなかったとき、またはファイル名に拡張子がなかったときは、ファイル名全体を元に対応するシンタックスを探します。</p>
		<p>例えば:</p><ul>
			<li><p>.htaccess → Apache</p></li>
			<li><p>makefile → Makefile</p></li>
		</ul>
	</li>
	
	<li>
		<p><em>書類内の<span area-label="シェバン">#!</span>ヘッダー</em>:</p>
		<p>対応する拡張子・ファイル名がないとき、書類内の最初の行が#!ヘッダーであれば、それを手掛かりにシンタックスを探します。この捜査ではシンタックス定義のファイル関連付けの「インタープリタ」の設定が用いられます。#!ヘッダーの <code>#!</code> 直後のパスの最後の語句、またはパスが <code>env</code> のときはその次の語句が、インタープリタ名として検索語句に使用されます。</p>
		<p>例えば:</p><ul>
			<li><p><code>#!/usr/bin/perl</code> → Perl (インタープリタ名: <code>perl</code>)</p></li>
			<li><p><code>#!/usr/bin/env python3</code> → Python (インタープリタ名: <code>python3</code>)</p></li>
		</ul>
	</li>
	
	<li>
		<p><em>XML宣言</em>:</p>
		<li><p>対応する拡張子・ファイル名・インタープリタがないとき、ファイル内容がXML宣言で始まっていたら、自動的にXMLシンタックスを適用します。</p></li>
		<p>例えば:</p><ul>
			<li><p><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;</code> → XML</p></li>
		</ul>
	</li>
	
	<li>
		<p><em>なし</em>:</p>
		<p>該当するシンタックスが何もないときは、シンタックスは「なし」に設定されます。</p>
	</li>
</ol>

<p>拡張子やファイル名など同じレベルで複数の対応シンタックスがあった場合は、内蔵されたシンタックスよりもカスタムシンタックスが優先されます。さらにその中でも複数の対応シンタックスがあった場合は、自動的に最初に見つかったシンタックスを適用します。</p>
</section>


<section>
<h2>ファイル関連付けを編集する</h2>

<p>シンタックスのアファイル関連付けルールを定義するには、シンタックスエディタの左のリストから「ファイル関連付け」を選択し、右側のリストに拡張子やファイル名、インタープリタを追加します。シンタックスエディタの開き方は、<a href="syntax_definition.html">シンタックスを定義する</a>を参照してください。</p>
</section>


<section>
<h2>ファイル関連付けのコンフリクトを解決する</h2>

<p>内蔵されているシンタックスにファイル関連付けのコンフリクトはありませんが、独自にシンタックスを追加したときや内蔵されているシンタックスのファイル関連付けを変更したときは、コンフリクトが起こることがあります。現在ファイル関連付けのコンフリクトが発生しているかどうかは、「フォーマット」設定の「使用可能なシンタックス」リストのアクションポップアップメニューにある「ファイル関連付けのコンフリクトを表示」から探すことができます。この項目が選択不可能になっているときは、ファイル関連付けのコンフリクトは発生していません。</p>

<p>書類を期待するシンタックスで開くことができているかぎりは、ファイル関連付けのコンフリクトがあっても放置しておいてかまいません。</p>
</section>


<section id="cf">
<h2>関連項目</h2>
<ul>
	<li><a href="syntax_definition.html">シンタックスを定義する</a></li>
	<li><a href="settings_format.html">「フォーマット」設定を変更する</a></li>
</ul>
</section>

</body>
</html>
